package constants.ws;

import constants.Default;
import play.mvc.Scope;
import utils.RequestHelper;
import utils.Utils;

import java.util.List;

/**
 * 分页工具
 * @author zhangzc@djcars.cn
 */
public class PageBean {

    /**
     * 页数
     */
    public int page = 0;


    /**
     * 每页数量
     */
    public Integer pageCount(){
        Integer limit = RequestHelper.getIntParam("limit");
        Integer pageCount =Default.PAGE_COUNT;
        if (limit>0) {
            pageCount =   limit;
        }
        return pageCount;
    }

    public int getOffset(){
        return pageCount() * (page - 1);
    }

    public Long getLastId(){
        String strLastId = RequestHelper.getParam("lastId",0);
        return Utils.asLong(strLastId);
    }

    public static PageBean getInt(Integer page){
        PageBean pageBean = new PageBean();
        try{
            int curPage = page;
            pageBean.page = curPage;
            if(pageBean.page <= 0){
                pageBean.page = 1;
            }
        }catch(Exception e){
            pageBean.page = 1;
        }
        return pageBean;
    }

    public static PageBean get(){
        PageBean pageBean = new PageBean();
        String pageStr = Scope.Params.current().get("page");
        try{
            int curPage = Integer.parseInt(pageStr);
            pageBean.page = curPage;
            if(pageBean.page <= 0){
                pageBean.page = 1;
            }
        }catch(Exception e){
            pageBean.page = 1;
        }
        return pageBean;
    }
}
